package com.exam.api.modules.system.dto;

import cn.hutool.core.bean.BeanUtil;
import com.exam.api.modules.system.domain.TblDept;
import com.exam.api.common.dto.ConverterDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Size;
import lombok.Data;

/**
 * 新增部门DTO
 *
 * @author bcheng
 */
@Data
public class DeptAddDTO implements ConverterDTO<TblDept> {

    /**
     * 父级部门id
     */
    @Schema(description = "父级部门id")
    private Long parentDeptId;

    /**
     * 部门名称
     */
    @Schema(description = "部门名称")
    @Size(max = 30, message = "部门名称最大长度要小于 30")
    private String name;

    /**
     * 部门等级
     */
    @Schema(description = "部门等级")
    private Integer level;

    /**
     * 排序
     */
    @Schema(description = "排序")
    private Integer sort;

    @Override
    public TblDept converter() {
        TblDept dept = new TblDept();
        BeanUtil.copyProperties(this, dept);
        return dept;
    }
}
